/**
 * ===========================================================================
 * 版权所有 湖南免了么网络科技有限公司，并保留所有权利。
 * 网站地址: http://www.mianle.me
 * ===========================================================================
 * 15:31 2018/7/13
 */
package com.mianle.userapi.service.cglib.demo1;

import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

import java.lang.reflect.Method;

/**
 * @Author: yiyuan
 * @Description:
 * @Date: Created in 15:31 2018/7/13
 *
 */
public class AuthProxy implements MethodInterceptor {

    private String name ;
    //传入用户名称
    public AuthProxy(String name){
        this.name = name;
    }

    /**
     *
     * @param o 进行增强的对象
     * @param method 表示拦截的方法
     * @param objects 数组表示参数列表，基本数据类型需要传入其包装类型，如int-->Integer、long-Long、double-->Double
     * @param methodProxy 表示对方法的代理，invokeSuper方法表示对被代理对象方法的调用
     * @return
     * @throws Throwable
     */
    @Override
    public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {

        //用户进行判断
        if(!"张三".equals(name)){
            System.out.println("你没有权限！");
            return null;
        }
        return methodProxy.invokeSuper(o, objects);
    }

}
